fix(release): land version bumps on main, undraft last, surface silent registry failures#64
Merged
Merged
Conversation
…t registry failures - drop the origin/dev cherry-pick landmine (no dev branch exists; if one ever appeared, every release would ship its commits unreviewed) - push the release tag explicitly, then try main; when branch protection rejects the push (previously swallowed by .nothrow, leaving every release commit orphaned and main's versions stale), open a release PR instead - undraft the GitHub release only after all npm publishes succeed, so releases/latest (which the install script resolves) can't get ahead of npm - launcher E403/already-published downgrades now emit workflow annotations instead of log lines nobody reads on a green run - homebrew tap: correct org slug, use a dedicated HOMEBREW_TAP_TOKEN (github.token can't push cross-repo), annotate on failure - publish workflow: single concurrency group (patch+minor dispatches raced), fail fast on an empty dispatch (previously published a 0.0.0-main preview as production), record the deployment against the release tag and skip it for previews
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #27. Fixes #29. Fixes #31. Fixes #33. Addresses the code side of #26 and #28.
Release-pipeline batch:
Orphaned release commits (#26): the release push ran
git push origin HEAD --tagsunder.nothrow(). Branch protection rejects the branch ref, tags slip through, and nothing fails — so every release commit is orphaned (v1.2.4 is not an ancestor of main) and main's package versions are permanently stale. Now the tag is pushed explicitly, the main push is attempted, and on rejection the script pushes arelease/vX.Y.Zbranch and opens a release PR so the bumps land through the normal checks. (The remaining half of #26 is a repo-settings decision: add the workflow identity as a bypass actor if direct pushes are preferred.)Cherry-pick landmine (#27):
git cherry-pick HEAD..origin/devis gone. Nodevbranch exists; the day one appeared, every release would have shipped its commits unreviewed.Homebrew (#29): org slug corrected to
synthetic-sciences, the tap push now uses a dedicatedHOMEBREW_TAP_TOKEN(the workflow'sgithub.tokenis repo-scoped and can never push to the tap), and both the missing-token and failure paths emit::warning::annotations instead of a swallowedconsole.warn. Needs theHOMEBREW_TAP_TOKENsecret (fine-grained PAT with push to the tap repo) to actually start working — and the tap repo to exist.Release goes public too early (#31):
gh release edit --draft=falsemoved from before the npm publishes to after all of them succeed, soreleases/latest(which the install script resolves) can't get ahead of npm. On failure the release stays draft and the run says so.Dispatch footguns (#33): single
concurrencygroup (apatchand aminordispatch used to run concurrently and race on tags), and an empty dispatch now fails fast instead of publishing0.0.0-main-<sha>to npm as a production deployment. The deployment record is also guarded to real releases and points at the release tag instead of the pre-release sha.Launcher visibility (#28, partial): the E403 and already-on-registry downgrades now emit workflow annotations on the run summary. The root cause (npm ownership of
synsci) still needsnpm owner add <token-account> synsci— leaving #28 open for that.